package cn.kgc.reflect;

import java.lang.reflect.Field;
import java.util.ArrayList;

/**
 * @author: mosin
 * @version: v1.0  2022/10/10
 */
public class TestList {


    public static void main(String[] args) {

        ArrayList<String> str = new ArrayList<>();

        Class clazz = str.getClass();

        Field elementData = null;
        try {
            elementData = clazz.getDeclaredField("elementData");
            elementData.setAccessible(true);
            Object[] o = (Object[]) elementData.get(str);
            System.out.println("len=" +o.length);

            System.out.println("===========添加第一个元素============");
            str.add("a");
            o = (Object[]) elementData.get(str);
            System.out.println("len=" +o.length);
            System.out.println("===========添加第11个元素============");
            str.add("a");
            str.add("a");
            str.add("a");
            str.add("a");
            str.add("a");
            str.add("a");
            str.add("a");
            str.add("a");
            str.add("a");
            str.add("a");
            o = (Object[]) elementData.get(str);
            System.out.println("len=" +o.length);

        } catch (Exception e) {
            e.printStackTrace();
        }


    }
}
